This application relates to the operation of re-programmable nonvolatile memory systems such as semiconductor flash memory which record data using charge stored in charge storage elements of memory cells and to methods of operating such memory systems.
Semiconductor memory, including flash memory, may be arranged in a multi-level cell memory (MLC) array. In some configurations, the MLC is structured in a three dimensional array with orthogonal word lines, strings, and bit lines.
One common problem in three dimensional (3D) arrays of flash memory is that such arrays are susceptible to word line to word line short circuits during write operations (sometimes called programming or data programming operations), in which case the storage elements on those word lines no longer store data, or any data stored in those storage elements is non-recoverable from those storage elements. Moreover, such word line to word line short circuits often occur in 3D flash memory device during normal use, despite the memory devices having passed production quality testing.
Data recovery from word line to word line short circuits and other word line failures typically requires a significant amount of volatile memory (sometimes called a buffer) to temporarily store XOR signatures or other data recovery or error correction information while data is being written to the three dimensional memory array. It would therefore be desirable to have a data recovery mechanism, for recovering from word line to word line short circuits and other word line failures, that uses less volatile memory without sacrificing the ability to recover data.